package com.cloudfun.campusshare.common.model.dto.kjt;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Builder;
import lombok.Data;

import java.util.Map;

/**
 * Created by Huqin on 2020/8/5
 */
@Data
@Builder
@ApiModel("快捷通子商户主动提现到卡请求DTO")
public class KjtSubMerchantWithdrawalCashReqDTO {

    /**
     * [6,32]
     * 平台(商户)订单号，字母数字下划线，确保每笔订单唯一
     */
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    /**
     * 平台用户ID，平台方分配给用户的唯一标识
     */
    @JsonProperty("partner_user_id")
    private String partnerUserId;

    /**
     * 快捷通分配给平台方子商户的会员ID
     * 也作为登录快捷通收银台的登录账号
     */
    @JsonProperty("identity_id")
    private String identityId;

    /**
     * 业务产品码
     * 10210-提现（次日）
     * 10211-提现（实时）-- 暂未开通
     */
    @JsonProperty("biz_product_code")
    private String bizProductCode;

    /**
     * 付产品码
     * 14-付款到银行卡-对私
     * 15-付款到银行卡-对公
     */
    @JsonProperty("pay_product_code")
    private String payProductCode;

    /**
     * [15]
     * 提现金额，取值范围为[0.01，100000000000.00]，精确到小数点后两位。
     */
    @JsonProperty("withdrawal_amount")
    private String withdrawalAmount;

    /**
     * [128]
     * 出款目的
     */
    private String memo;

    /**
     * [0-200]
     * 服务器异步通知地址，快捷通主动通知商户网站里指定的URL http/https路径，当订单完成后会回调商户并告知订单状态
     */
    @JsonProperty("notify_url")
    private String notifyUrl;

    /**
     * 可不传
     * 展备注，商户自定义，如需使用，请与技术支持联系
     * 扩展域说明：PAYER_ACCOUNT：填充资金账户号
     * MER_BIZ_TYPE：填充资金账户类型
     */
    @JsonProperty("extension")
    private Map<String, String> extension;
}
